The continuous expansion of the Internet, the expansion and sophistication of enterprise computing networks and systems, the proliferation of content stored and accessible over the Internet, and numerous other factors continues to drive the need for large sophisticated data storage systems. Consequently, as the demand for data storage continues to increase, larger and more sophisticated storage systems are being designed and deployed. Many large scale data storage systems utilize storage appliances that include arrays of storage media. These storage appliances are capable of storing incredible amounts of data. For example, some storage appliances can store over 2 petabytes of data (over 2 quadrillion bytes of data). Moreover, multiple storage appliances may be networked together to form a cluster, which allows for an increase in the volume of stored data.
Storage appliances typically include a file system configured to store and retrieve files and a hierarchical directory structure for the naming of multiple files. In some instances, data on an existing source file system needs to be migrated to a new target file system. Such a migration is typically achieved by initially taking the source file system offline, thereby preventing users from reading or writing to the source file system. Depending on the amount of data in the source file system, the migration may take a significant period of time (e.g., days). The migration process can result in higher latency during the retrieval of files. Additionally, the hardware for the source file system may be in the process of being decommissioned. Based on these considerations, among others, users place an importance on being informed of the progress of a migration and an estimate of the remaining time until completion. However, many conventional estimation techniques are largely arbitrary and based on gross assumptions. For example, conventional estimation techniques may estimate a remaining work percentage based on a number of directory entries migrated, an average number of interior subdirectories, an average depth of leaf directories, and/or how many directories are present in the migration queue and their average depth. Such techniques may approach a relatively accurate estimation of remaining work percentage over time but often significantly fluctuate during migration, frustrating users.
It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.